﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Expression.Use.Condition
{
    /// <summary>
    /// 变量类型枚举
    /// </summary>
    public enum TypeGroup
    {
        /// <summary>
        ///默认类型组，仅支持“等于”和“不等于”。
        /// </summary>
        Default = -1,

        /// <summary>
        ///支持所有与文本相关的操作。
        /// </summary>
        Text = 1,

        /// <summary>
        /// 支持所有与数字相关的操作。
        /// </summary>
        Number = 2,

        /// <summary>
        /// 支持布尔相关操作。
        /// </summary>
        Boolean = 4,

        /// <summary>
        /// 支持所有与日期相关的操作。
        /// </summary>
        Date = 8,

        /// <summary>
        /// 支持可为空的相关操作。
        /// </summary>
        Nullable = 16
    }

    public enum ConditionEnum
    {
        /// <summary>
        /// 之间，范围值
        /// </summary>
        Between,
        /// <summary>
        /// 包含
        /// </summary>
        Contains,
        /// <summary>
        /// 不包含
        /// </summary>
        NotContains,
        /// <summary>
        /// 等于
        /// </summary>
        Equal,
        /// <summary>
        /// 大于
        /// </summary>
        GreaterThan,
        /// <summary>
        /// 大于等于
        /// </summary>
        GreaterThanOrEqualTo,
        /// <summary>
        /// 大于等于
        /// </summary>
        In,
    }


    /// <summary>
    /// 定义筛选器语句之间的连接方式.
    /// </summary>
    public enum Connector
    {
        /// <summary>
        ///确定需要同时满足当前AND和下一个筛选器语句。
        /// </summary>
        And,

        /// <summary>
        /// 确定需要满足当前或下一个筛选器语句。
        /// </summary>
        Or
    }
}
